﻿using Aocsoft.Infrastructure.DomainBase;
using Aocsoft.Infrastructure.RepositoryFramework;
using System;

namespace Aocsoft.Infrastructure
{
    public interface IUnitOfWork
    {
        Guid Key { get; }
        DateTime CreateDatetime { get; }
        void RegisterAdded(IEntity entity, IUnitOfWorkRepository repository);
        void RegisterChanged(IEntity entity, IUnitOfWorkRepository repository);
        void RegisterRemoved(IEntity entity, IUnitOfWorkRepository repository);
        void Commit();
    }
}
